package com.sleet.yuemiao.util;


import java.io.UnsupportedEncodingException;

/**
 * @program: yuemiao
 * @ClassName HexString
 * @description:
 * @author: Liyongxing
 * @create: 2021-12-21 16:05
 **/
public class HexString {


        /**
         * 16进制直接转换成为字符串(无需Unicode解码)
         * @param hexStr
         * @return
         */
        public  static   byte [] hexStr2Str(String hexStr) throws UnsupportedEncodingException {
            String str =  "0123456789ABCDEF" ;
            char [] hexs = hexStr.toCharArray();
            byte [] bytes =  new  byte [hexStr.length() /  2 ];
            int  n;
            for  ( int  i =  0 ; i < bytes.length; i++) {
                n = str.indexOf(hexs[ 2  * i]) *  16 ;
                n += str.indexOf(hexs[ 2  * i +  1 ]);
                bytes[i] = ( byte ) (n &  0xff );
            }
            return  bytes;
        }

    public  static  String str2HexStr(String str) {
        char [] chars =  "0123456789ABCDEF" .toCharArray();
        StringBuilder sb =  new  StringBuilder( "" );
        byte [] bs = str.getBytes();
        int  bit;
        for  ( int  i =  0 ; i < bs.length; i++) {
            bit = (bs[i] &  0x0f0 ) >>  4 ;
            sb.append(chars[bit]);
            bit = bs[i] &  0x0f ;
            sb.append(chars[bit]);
        }
        return  sb.toString().trim();
    }
}
